/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package adbus.models;

import java.util.LinkedList;
import javax.swing.AbstractListModel;
import javax.swing.ComboBoxModel;

/**
 *glowna klasa PojazdList
 * @author rafal
 */
public class PojazdList extends AbstractListModel implements ComboBoxModel{
    private LinkedList<Pojazd> vehicles = null;
    private Pojazd selected = null;
    /**konstruktor klasy PojazdList*/
    public PojazdList() {
        vehicles = new LinkedList<Pojazd>();
    }
    /**metoda zwracająca rozmiar listy pojazdow*/
    public int getSize() {
        return vehicles.size();
    }
    /**metoda zwracająca pojazd o podanym indeksie*/
    public Object getElementAt(int index) {
        return vehicles.get(index);
    }
    /**metoda ustawiająca zaznaczony wiersz w tabelce pojazdy*/
    public void setSelectedItem(Object anItem) {
        selected = (Pojazd) anItem;
    }
    /**metoda zwracająca zaznaczony wiersz w tabelce pojazdy*/
    public Object getSelectedItem() {
        if(selected==null)
            if(vehicles.size()>0)
                return vehicles.get(0);
            else
                return null;
        else
            return selected;
    }

    void setList(LinkedList<Pojazd> pojazdy) {
        vehicles = pojazdy;
        selected = null;
        fireContentsChanged(this, 0, vehicles.size());
    }

    public void zaladuj() {
        Pojazd temp = new Pojazd();
        vehicles = temp.pobierz();
        fireContentsChanged(this, 0, vehicles.size());
    }

}
